1. Field of the Invention
This invention relates to methods and systems for processing customer interactions such as may occur in a customer service call center. Specifically, the present invention relates to methods and systems for uniformly processing call center customer interactions across all media types such as e-mail, facsimile, telephone and the like to assign and send the processed customer interactions to one or more call center agents and/or call center agent queues.
2. Description of the Related Art
FIG. 1 is a block diagram of the organization and operation of a call center 100 receiving and originating a variety of customer-related communications. Call centers such as shown at 100 in FIG. 1 conventionally feature a large group of agents 102A, 108A, 110A, 112A, 114A, 116A and 118A handling inbound calls 116 (order taking, billing inquiries, technical support requests, for example), outbound calls 108 and callbacks 118 (telesales, for example) or both. Such a call center 100 may also handle inbound or outbound communications over media other than the telephone, such as facsimile (faxed) communications 112, communications 102 originating from the World Wide Web (hereafter xe2x80x9cWebxe2x80x9d), email communications 110 and/or customer letters, as shown at 114. Such customer communications may be assigned to the first available agent that handles such communications. While waiting for such first available agent, the communications may be stored in a queue, which may be thought of as a holding place and an organizational structure to hold communications. Typically, there is one queue for each media type. Indeed, there may be one queue 102Q for Web-based communications 102, one queue 112Q holding faxed communications 112, one queue 110Q holding emailed communications 110, one queue 116Q for telephone inbound customer communications and other queues 108Q, 118Q for outbound, agent-originated communications 108 and callbacks 118. In the case of a customer letter 114, the corresponding queue 114Q may be a simple physical inbox where the customer letters 114 are deposited while waiting for action from an agent 114A. Communications may be removed from such queues 102Q, 108Q, 110Q, 112Q, 114Q, 116Q and 118Q by corresponding call center agents 102A, 108A, 110A, 112A, 114A, 116A and 118A respectively, on a first-in first-out basis or may be prioritized according to a predetermined service level, for example.
Conventionally, a separate system handles (receives, processes, routes, queues and sends out, for example) each different media type. For example, one system handles incoming and outgoing telephone calls 116, 108, another system handles emails 110, another handles Web-based customer communications 102, while another separate system may handle faxed communications 112. Such separate have thus far been necessary as the email system, for example, does not xe2x80x9cknowxe2x80x9d how to handle telephone calls and the Web system does not xe2x80x9cknowxe2x80x9d how to handle facsimile communications 112. Indeed, each system is only equipped to handle a specific media type, as each media type is formatted differently. The consequence of such a fragmented approach to customer-related communications is that separate agents 102A, 108A, 110A, 112A, 114A, 116A and 118A are needed to handle Web communications 102, outbound calls 108, email communications 110, facsimile communications 112, customer letter 114, in bound calls 116 and callbacks 118, respectively. Each agent 102A, 108A, 110A, 112A, 114A, 116A and 118A, therefore, plucks the next available communication from queues 102Q, 108Q, 110Q, 112Q, 114Q, 116Q and 118Q specific to a single media type. For example, the Web customer agent 102Q only plucks communications from the Web queue 102Q, the email call center agent 110A only retrieves communications from the email queue 110Q and so on. In turn, this entails that the workload of the agents 102A, 108A, 110A, 112A, 114A, 116A and 118A may vary widely, depending upon the most prevalent media in the queues 102Q, 108Q, 110Q, 112Q, 114Q, 116Q and 118Q at any given time. For example, the telephone call center agents 108A, 116A and 118A may be overworked (as their respective queues 108Q, 116Q and 118Q are full), while the email call center agents 110A sit idle, for lack of requests in their email-only queue 110Q. However, when separate systems administer queues 102Q, 108Q, 110Q, 112Q, 114Q, 116Q and 118Q and routing (i.e., assigning and sending the communication to selected agent(s) and/or queues) for each different media type, it is not possible to re-route some of the customer communications of one media type to a system handling only communications of another media type. For example, inbound calls 116 normally routed and/or queued by the inbound call system to the inbound call-only agent 116A and/or the inbound call-only queue 116Q may not be re-routed and/or queued to the idle email call center agents 110A and/or queue 110Q, as the inbound call-only system is not equipped to handle an email communication 110. Such separate systems, although effective to handle a single well-defined media type, have arguably become an artificial technologically based barrier to human interaction.
In an increasingly multimedia electronic marketplace where orders and support requests, for example, may be placed in a variety of different media, such separate systems increasingly constitute a liability (both in terms of cost and functionality) and hamper the call center""s ability to effectively handle a large volume of calls and customer communications in a timely manner. Ultimately, the operating costs of the call center increases and the customers suffer from less than optimal quality of service. There has been a long felt need, therefore, for methods and systems that would allow call centers to have greater flexibility in the manner in which they handle customer communications. What are needed, specifically, are methods and systems that would allow call centers to handle all customer communications in a homogeneous manner, across all media types. Such a system should allow the call center to make optimum use of its existing material and human resources by increasing the flexibility of its queuing and routing systems and by allowing, for example, previously idle email agents 110A to handle incoming Web-based or facsimile communications 102, 112.
It is an object of the present invention, therefore, to provide methods, devices and systems that that would allow call centers to have greater flexibility in the manner in which they handle customer communications. It is a further object to provide methods and systems that would allow call centers to handle all customer communications in a homogeneous manner, across all media types, to thereby allow the call center to make optimum use of its existing material and human resources.
In accordance with the above-described objects and those that will be mentioned and will become apparent below, a method for processing a customer interaction of any media type for assignment to at least one selected agent or to at least one selected queue coupled to at least one agent, according to an embodiment of the present invention, comprises steps of receiving the customer interaction, extracting customer data from the received customer interaction and linking the customer data with the customer interaction from which the customer data was extracted. The customer data is stored in a data structure that is generic across all media types of the customer interactions. The customer data in the generic data structure is applied to a rule-based engine, the rule-based engine operating upon the extracted customer data to select the one or more agents and/or one or more queues to which to assign the generic data structure. The generic data structure or object is then assigned and sent to the selected agent(s) and/or to queue(s) and the customer interaction linked to the generic data structure is retrieved. At least the retrieved customer interaction is then presented to selected agent(s).
According to further embodiments, the incoming customer interaction originates from a group of media types including e-mail, facsimile, telephone, Word Wide Web and written letter. The applying step may cause the rule-based engine to access a repository (such as a database) of agent characteristics, the rule-based engine selecting the at least one agent or the at least one queue by matching the customer data to the agent characteristics. The agent characteristics may include one or more criteria such as the agent""s availability, skill sets, proficiency, languages spoken and experience. The extracting step may extract customer data by collecting at least one of Interactive Voice Response (IVR) data, Automatic Number Identification (ANI) data, call arrival time, CallerID data, Dialed Number Identification Service (DNIS) when the media type of the received customer interaction is a telephone call. The extracting step may extract customer data from a Web page accessed by a customer, when the media type of the received customer interaction includes a World Wide Web page. Similarly, the extracting step may extract customer data from an email sent by a customer, when the media type of the received customer interaction includes an email. A step of accessing customer information based upon the extracted customer data may also be carried out, the customer information being stored in a customer information database. The customer information database may store at least one of a customer account number, name, contact information, interaction history, level of service to render, payment information and sales information. The presenting step may include a step of presenting the accessed customer information, interaction history, level of service to render, payment information and sales information. The presenting step may include a step of presenting the accessed customer information to the selected agent(s) along with the retrieved customer interaction. The generic data structure may include one or more fields associated with each media type and the storing step may selectively populate one or more of such fields with the extracted customer data. A task to be performed by one or more agents may be substituted for the customer interaction and task data may be substituted for the customer data, the agent task thereby being assigned to the selected agent(s). The generic data structure may be removed from the queue(s) when the retrieved customer interaction is presented to the selected agent(s).
According to another embodiment, the present invention is a computer system, comprising at least one processor; at least one data storage device and a plurality of processes spawned by the at least one processor, the processes including processing logic for processing a customer interaction of any media type for assignment to one or more selected call center agents and/or one or more selected queues coupled to at least one call center agent in a call center. The processing logic defines the steps of receiving the customer interaction; extracting customer data from the received customer interaction and linking the customer data with the customer interaction from which the customer data was extracted; storing the customer data in a data structure that is generic across all media types of the customer interactions; applying the customer data in the generic data structure to a rule-based engine, the rule-based engine operating upon the extracted customer data to select the agent(s) and/or the queue(s) to which to assign the generic data structure; assigning and sending the generic data structure to the selected agent(s) and/or to the queue(s); retrieving the customer interaction linked to the generic data structure, and presenting the retrieved customer interaction to the selected agent(s).
According to a still further embodiment, the present invention is a machine-readable medium having data stored thereon representing sequences of instructions which, when executed by a call center computer, causes said computer to process a customer interaction of any media type for assignment to one or more selected agents and/or to one or more selected queues coupled to at least one agent of a call center by performing the steps of receiving the customer interaction; extracting customer data from the received customer interaction and linking the customer data with the customer interaction from which the customer data was extracted; storing the customer data in a data structure that is generic across all media types of the customer interactions; applying the customer data in the generic data structure to a rule-based engine, the rule-based engine operating upon the extracted customer data to select the agent(s) and/or the queue(s) to which to assign the generic data structure; assigning and sending the generic data structure to the selected agent(s) and/or to the queue(s); retrieving the customer interaction linked to the generic data structure, and presenting the retrieved customer interaction to the selected agent(s).